package com.eugene.entity;

import java.io.Serializable;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.eugene.element.FnCalendar;
import com.eugene.enums.EScenarioType;

public class VaRScenario implements Serializable{
	private final static Logger logger = LoggerFactory.getLogger(VaRScenario.class);
	private FnCalendar baseDate;
	private String scenarioId ;
	
	private String varType;
	private int varSceNo;
	private String rfId;
	private MvData riskFactor;
	private String prodId;
	
	
	
	public String getProdId() {
		return prodId;
	}
	public void setProdId(String prodId) {
		this.prodId = prodId;
	}
	public MvData getRiskFactor() {
		return riskFactor;
	}
	public void setRiskFactor(MvData riskFactor) {
		this.riskFactor = riskFactor;
	}
	private double rfValue;
	private double rfSceValue;
	private String tweakedRfId;
	
	private EScenarioType sceType;
	private String sceTypeId;
	private double tweakValue;
	
	private VcvMethod vcvMethod;
	private String vcvMethodId;
	private Boolean isUse;
	
//	private String prodId;
//	private double pv ;
//	private double scePv;
	
	private Date lastUpdate;
	
	public FnCalendar getBaseDate() {
		return baseDate;
	}
	public void setBaseDate(FnCalendar baseDate) {
		this.baseDate = baseDate;
	}
	public String getScenarioId() {
		return scenarioId;
	}
	public void setScenarioId(String scenarioId) {
		this.scenarioId = scenarioId;
	}
	public String getVarType() {
		return varType;
	}
	public void setVarType(String varType) {
		this.varType = varType;
	}
	public int getVarSceNo() {
		return varSceNo;
	}
	public void setVarSceNo(int varSceNo) {
		this.varSceNo = varSceNo;
	}
	public String getRfId() {
		return rfId;
	}
	public void setRfId(String rfId) {
		this.rfId = rfId;
	}
	public double getRfValue() {
		return rfValue;
	}
	public void setRfValue(double rfValue) {
		this.rfValue = rfValue;
	}
	public double getRfSceValue() {
		return rfSceValue;
	}
	public void setRfSceValue(double rfSecValue) {
		this.rfSceValue = rfSecValue;
	}
	public String getTweakedRfId() {
		return tweakedRfId;
	}
	public void setTweakedRfId(String tweakedRfId) {
		this.tweakedRfId = tweakedRfId;
	}
	
	
	public EScenarioType getSceType() {
		return sceType;
	}
	public void setSceType(EScenarioType sceType) {
		this.sceType = sceType;
	}
	public String getSceTypeId() {
		return sceTypeId;
	}
	public void setSceTypeId(String sceTypeId) {
		this.sceTypeId = sceTypeId;
	}
	public double getTweakValue() {
		return tweakValue;
	}
	public void setTweakValue(double tweakValue) {
		this.tweakValue = tweakValue;
	}
	
	
	public VcvMethod getVcvMethod() {
		return vcvMethod;
	}
	public void setVcvMethod(VcvMethod vcvMethod) {
		this.vcvMethod = vcvMethod;
	}
	
	public String getVcvMethodId() {
		return vcvMethodId;
	}
	public void setVcvMethodId(String vcvMethodId) {
		this.vcvMethodId = vcvMethodId;
	}
	public Boolean getIsUse() {
		return isUse;
	}
	public void setIsUse(Boolean isUse) {
		this.isUse = isUse;
	}
	
//	public String getProdId() {
//		return prodId;
//	}
//	public void setProdId(String prodId) {
//		this.prodId = prodId;
//	}
//	public double getPv() {
//		return pv;
//	}
//	public void setPv(double pv) {
//		this.pv = pv;
//	}
//	public double getScePv() {
//		return scePv;
//	}
//	public void setScePv(double scePv) {
//		this.scePv = scePv;
//	}
	public Date getLastUpdate() {
		return lastUpdate;
	}
	public void setLastUpdate(Date lastUpdate) {
		this.lastUpdate = lastUpdate;
	}
	
	
	public VaRScenario(){
		
	}
	public VaRScenario(String sceId, String varType, int varSceNo){
		this.scenarioId = sceId;
		this.varType = varType;
		this.varSceNo = varSceNo;
	}
	
	public VaRScenario(FnCalendar baseDate, String sceId, String varType, int varSceNo, String rfId, double rfValue, double rfSceValue){
		this.baseDate = baseDate;
		this.scenarioId = sceId;
		this.varType = varType;
		this.varSceNo = varSceNo;
		this.rfId = rfId;
		this.rfValue = rfValue;
		this.rfSceValue = rfSceValue;
	}
	public VaRScenario(FnCalendar baseDate, String sceId, String varType, int varSceNo, String rfId, String prodId,double rfValue, double rfSceValue){
		this.baseDate = baseDate;
		this.scenarioId = sceId;
		this.varType = varType;
		this.varSceNo = varSceNo;
		this.rfId = rfId;
		this.prodId = prodId;
		this.rfValue = rfValue;
		this.rfSceValue = rfSceValue;
	}
	
	public VaRScenario(String sceId, String vcvMethodId){
		this.scenarioId = sceId;
		this.vcvMethodId = vcvMethodId;
	}
	public VaRScenario(FnCalendar baseDate, String sceId, String rfId, double rfValue){
		this.baseDate = baseDate;
		this.scenarioId = sceId;
		this.rfId =rfId;
		this.rfValue = rfValue;
	}
	
	public VaRScenario(String sceId, String rfId, String sceType, double tweakValue  ){
		this.scenarioId = sceId;
		this.rfId = rfId;
		this.sceTypeId = sceType;
		this.tweakValue = tweakValue;
	}	
	
	@Override
	public boolean equals(Object other){
		return super.equals(other); 
	}
	@Override
	public int hashCode(){
		return super.hashCode();
	}

}
